The present technology relates to a storage controller. Specifically, the present technology relates to a storage controller for a non-volatile memory, a storage device for a non-volatile memory, an information processing system for a non-volatile memory, a processing method therein, and a program causing a computer to execute the processing method.
In an information processing system, a Dynamic Random Access Memory (DRAM) or the like is used as a work memory. The DRAM is normally a volatile memory, and memory contents thereof are lost when a power supply is stopped. On the other hand, in recent years, a non-volatile memory (NVM) is used. The non-volatile memory is roughly classified into a flash memory supporting data access with a large size of data as a unit, and a non-volatile RAM (NVRAM) providing high-speed random access with a small unit. The flash memory is typified by a NAND flash memory. On the other hand, the non-volatile RAM is typified by a resistance RAM (ReRAM), a phase-change RAM (PCRAM), a magneto resistive RAM (MRAM).
In the non-volatile memory, to avoid an event in which storage state is changed with lapse of time, a refresh process in which the storage state is rewritten to be corrected before the change of the storage state is carried out. As a known memory system in related art, there is a memory system in which a memory controller autonomously executes a refresh process without receiving an instruction from a host computer when an error is detected at the time of reading data from a non-volatile memory (for example, refer to Japanese Unexamined Patent Application Publication No. 2008-192267). In addition, a memory system in which a host computer receives notification of error detection at the time of reading data and the host computer executes a refresh command at appropriate timing has been proposed (for example, refer to Japanese Unexamined Patent Application Publication No. 2008-192267). In the refresh process, error correction is executed on data in which errors are detected, and the corrected data is written into the non-volatile memory.